package de.tum.in.elitese.wahlsys.persister.persistence_objects;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import de.tum.in.elitese.wahlsys.persister.PersistenceObject;

/**
 * see Table WAHLSCHEIN
 * 
 * @author Christoph Frenzel
 * 
 */
public class Wahlschein extends PersistenceObject {
	private static final List<String> FIELD_NAMES = Collections.unmodifiableList(Arrays.asList(new String[] { "HASHWERT", "BRIEFWAHL", "GEWAEHLT" }));

	private static final String TABLE_NAME = "WAHLSCHEIN";

	private Boolean fBriefwahl = false;

	private Boolean fGewaehlt = false;

	private String fHashWert;

	public String getHashWert() {
		return fHashWert;
	}

	@Override
	public List<String> getPersistanceStrings() {
		List<Object> values = new ArrayList<Object>(3);
		values.add(getHashWert());
		values.add(isBriefwahl());
		values.add(isGewaehlt());

		List<String> result = new ArrayList<String>(1);
		result.add(createInsertString(TABLE_NAME, FIELD_NAMES, Collections.unmodifiableList(values)));
		return result;
	}

	public Boolean isBriefwahl() {
		return fBriefwahl;
	}

	public Boolean isGewaehlt() {
		return fGewaehlt;
	}

	public void setBriefwahl(Boolean briefwahl) {
		fBriefwahl = briefwahl;
	}

	public void setGewaehlt(Boolean gewaehlt) {
		fGewaehlt = gewaehlt;
	}

	public void setHashWert(String string) {
		fHashWert = string;
	}
}
